package org.example.app.bean;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 商品实体类 - 符合实时数仓设计规范
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class MarketProduct {
    // 业务主键
    private String productId;
    private String productName;
    
    // 维度字段
    private String categoryId;
    private String categoryName;
    private String brandId;
    private String brandName;
    private String shopId;
    private String shopName;
    
    // 度量字段
    private Double price;
    private Integer stock;
    private Integer salesVolume;
    private Double salesAmount;
    private Integer visitorCount;
    private Double conversionRate;
    
    // 实时数仓必需的时间字段
    private Long ts;           // 事件时间戳（毫秒）
    private String stt;        // 窗口开始时间
    private String edt;        // 窗口结束时间
    private String period;     // 统计周期（1h、1d、7d等）
    
    // 数据血缘字段
    private String dataSource; // 数据来源
    private String processTime; // 处理时间
    private Integer version;    // 数据版本
    
    // 扩展字段
    private String createTime;
    private String updateTime;
}